package com.ww.java8.fp.stream.inaction.ch05;

import java.util.Arrays;
import java.util.List;

/**
 * 流支持limit(n)方法，该方法会返回一个不超过给定长度的流。所需的长度作为参数传递给limit
 * 如果流是有序的，则最多会返回前n个元素
 *
 * 注意limit也可以用在无序流上，比如源是一个Set，这种情况下，limit的结果不会以任何顺序排列
 */
public class LimitDemo {

    public static void main(String[] args) {
        List<Integer> nums = Arrays.asList(1, 2, 3, 2, 3, 0, 4, 5, 6, 7, 8);
        System.out.println("未去重");
        nums.stream().filter(i -> i < 4).forEach(System.out::println);
        System.out.println("只截取3个");
        nums.stream().filter(i -> i < 4).limit(3).forEach(System.out::println);
    }
}
